@echo off
chcp 65001 > nul
color 0B
:: 启用延迟环境变量扩展（解决循环中变量无法正确显示的问题）
setlocal enabledelayedexpansion

echo =====================================
echo 正在清理Net8项目中的临时文件...
echo =====================================

:: 获取当前目录
set "rootDir=%CD%"
echo 当前目录: %rootDir%

set "prefix=Net8.Project"
set "dirsToClean=bin obj"

:: 查找所有以Net8.Project为前缀的项目目录（包括根目录下的Net8.Project）
for /D %%d in ("%rootDir%\%prefix%*") do (
    echo.
    echo 处理项目: %%~nxd （路径：%%d）
    
    :: 清理项目目录下的bin和obj
    for %%t in (%dirsToClean%) do (
        set "targetPath=%%d\%%t"
        
        :: 检查目录是否存在
        if exist "!targetPath!" (
            echo   清理目录: !targetPath!
            rmdir /S /Q "!targetPath!" 2>nul || (
                echo   警告: 无法清理 !targetPath!（可能被占用或无权限）
            )
        ) else (
            echo   目录不存在: !targetPath!
        )
    )
)

echo.
echo =====================================
echo 清理完成!
echo =====================================

:: 防止闪退，等待用户按键
pause
:: 关闭延迟环境变量扩展
endlocal